perm filename SUN3.TEX[MF,ALS] blob
sn#752570 filedate 1984-05-01 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \def\\{{\tt \char'134}}
C00004 00003
C00059 ENDMK
C⊗;
\def\\{{\tt \char'134}}
\font\ninerm=amr9
\def \↑#1{\tt <ctrl>#1}
\let\mc=\ninerm % medium caps for names like PASCAL
\font\logo=manfnt % font used for the METAFONT logo
\def\MF{{\logo META}\-{\logo FONT}}
\font\tenss=amss10 % for `The METAFONTbook'
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
\def\newsection #1. #2\par
{\medbreak\noindent{\bf #1.\enspace #2\par}
\nobreak\smallskip\noindent}
\def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant
\def\<#1>{{$\,\langle$\rm#1$\rangle\,$}}
\def\is{$\;\longrightarrow\;$}
\def\alt{$\;\mid\;$}
\def\andalso{\hskip5em \alt\futurelet\next\andalsocontinued}
\def\andalsocontinued{\ifx\next\.$\;$\fi}
\def\syntaxlines#1{$$\openup1\jot
\halign{\hbox to\displaywidth{\indent##\hfil}\cr#1}$$}
\def\.#1{\hbox{\tt#1}}
\def\syntaxbreak{\noalign{\smallbreak}}
\sfcode`\:=\sfcode`\;
\def\ctrl{{\tt <ctrl>}}
\def\arrow{{\tensy\char'055 }}
\def\esc{{\tt <esc>}}
\def\del{{\tt <del>}}
\magnification=1200 \parskip 10pt plus 1pt \parindent 0pt
\null\vskip-46pt \rightline{\it Version 0.4}
\rightline{\it as of \today}
\rightline{\it Please destroy all earlier drafts}
\rightline{\sevenrm drafted by Art Samuel}
\rightline{\sevenrm als@su-ai or phone 73330}
\rightline{\sevenrm with help by Per Bothner}
\vskip .75 truein \centerline{\bf How to Use the SUN Workstation and the V
System}
This is a beginner's manual for the \MF\ class and written only to get you
started. As soon as you have reasonably mastered the tasks that it
describes, you should be able to make use of the V-System Reference
Manual.
Unfortunately, you will find the V-System Reference Manual hard to use as
it assumes that you have a knowledge of {\mc UNIX}, which many of you may
not have. Indeed, some of the very useful commands that you will want to
use (`rm', for example, that is used to delete (remove) files from your directory)
are either never mentioned or casually referenced as being the same as
in {\mc UNIX}. Also the Reference
Manual is not consistent in its notation as to the use of the {\mc CTRL}
key, which this manual indicates by {\tt <ctrl>} and which is always held down
while some other key is struck (analogous to the shift key). This is variously
indicated in the Reference Manual by the symbol {\tt \char'013}, sometimes
by {\tt ctrl}, and sometimes by {\tt {\char'013}-}, all for the same
holding action with the {\mc CTRL} key. If this is not bad enough, {\tt
ctrl-\char'013} is used to mean holding the {\mc CTRL} key down and striking,
not the `{\tt\char'013}' key (which is used to move the cursor),
but the character `{\tensy\char'136}' which really means holding
down the shift key and striking the `6' key. Confusing, isn't it.
Calling
attention to these defects of the Reference manual is, however, rather
like `the pot calling the kettle black' since this present manual is more
a bumbling record of one user's attempt to use the V-System than a
polished production.
As may be all too evident,
this beginner's manual was written by someone who is just learning the
system and it may be misleading or even wrong, so beware. If you see any
glaring errors, report them at once so that others may not be misled.
To the beginning user, the SUN workstation working with the `{\sl
leland\/}' computer, as used for this class, appears to be a temperamental
system that can do wondrous things for you when you know how to use it
but it can get into many apparently inextricable states when used
incorrectly (something you are sure to do). One of your problems will be
to recognize the degree of difficulty that you are in before taking any
action that might further complicate matters. When you have instructed
the system to do something that may require a file to be gotten from the
Vax or that requires some computing, do wait until the system has had time
to complete its task before trying to hasten things by more action on your
part.
You will be using both 1) a Sun work station with 2 megabytes of memory
that is capable of supporting several jobs at the same time and that is actually
faster than the VAX, particularly when the VAX is timesharing, and
2) the
associated `{\sl leland\/}' VAX computer which you will be using primarily
as a file server. You may have several windows showing on the screen, some
acting as `{\sl executives\/}', some acting as editing work sheets, and some
showing outputs from the jobs that you are running.
One easy mistake is to confuse these quite different
{\sl view} functions and to try to give commands when the wrong {\sl
view\/} is open. Another very common mistake is to fail to realize that
many times the Sun system and its associated programs are case sensitive
so if this manual mentions an `{\tt a}', that you are to type, do not hit
an `{\tt A}'.
Now sit down at a workstation. On your right you will find a device
called a `{\sl mouse\/}' which consists of a small box with three
push-buttons on top sitting on a special {\sl mouse pad} with both {\sl
pad} and {\sl mouse} positioned roughly orthogonal to the table (with
their logo labels upright). Now look at the screen, if it should happen
to be blank, then slide the mouse around on its pad until the screen
lights up. After the screen lights up, look for the mouse cursor in the
form of an arrow {\tensy\char'055} which moves around on the screen as you
move the mouse. You will need to use this
{\tensy\char'055}
frequently.
If nothing happens, then move to another terminal or ask someone to help
you.
If no help is available and if the light on the keyboard is on, then you
may have to `boot' the station. This you do by holding down the `{\sl
setup}' key and striking the {\sl A} key.
You must then type the command {\tt
k1<cr>}, where {\tt <cr>} is, by convention, the symbol for the `{\mc
RETURN}' key. Typing {\tt k2<cr>} at this point, instead of {\tt k1<cr>},
takes longer as it repeats the power-on diagnostics but it is safer in
some situations. Finally you type {\tt b V<cr>}. After a pause, the
screen should light up. But do not boot the station unnecessarily. Get
help if at all possible.
{\parindent 20pt \narrower{ \noindent As mentioned earlier,
another key, the {\mc
CTRL} key, indicated in this manual as {\tt <ctrl>}, is also held down
while striking another key, in the same way as for the usual (non-locking)
shift key.
By way of contrast, the {\mc ESC} (escape)
key, the {\mc DEL} (delete) key,
and the {\mc RETURN} key,
indicated in this manual as {\tt <esc>}, {\tt <del>},
and {\tt <cr>},
respectively, are all struck
as ordinary keys.\smallskip}}
Find a `window' on the screen: a light area on the grey background of the
screen, with a black bar across the top. The words `{\tt Executive Vgt}'
should be on the bar, followed by a number. Get into the habit of looking
at this bar line before you try to use a window because there are several
types of windows and you will get into trouble if you try certain things
when you are in a wrong window. A message `{\tt Logged out}' should be
below the bar, with an exclamation-mark `{\tt !}' prompt and a blinking
black box (the cursor). If you find the desired window but the black box
is not blinking then point the mouse-cursor arrow {\tensy\char'055} on the
screen at this window, which you do by moving the mouse around on its pad.
When the arrow {\tensy\char'055} is so positioned anywhere within the
desired window, click the left button, that is push and release this
button.
If you do not find a window like this or if the black box still
does not blink, then find help.
If no help is available then stumble on.
Other reasons for the cursor not to blink are
listed in
a following section.
If all is well go to the {\sl Login} section below.
{\bf Troubles in Logging In} \nobreak
If there is a single window carrying the desired `{\tt Executive Vgt}' top
bar, but the last item is not a {\tt logout} then the person before you
failed to logout and you may have to do it for him. To do this you type
the {\tt logout<cr>} command, but do not do this unless you are absolutely
sure that no one is still using this terminal.
If there are more than one window, usually overlapping, then it is
possible for you to save and use these windows, if you know what you are
doing, but at the start it is better to start with a clean slate, so you may
call up the main menu, as described under Creating and Removing Executives below,
and use the Delete View option. This can be a dangerous maneuver if you do not know what you are
doing so use this procedure only if it seems to be absolutely necessary.
{\bf To Login} \nobreak
You are now ready to log in, which you do by typing the `{\tt login
leland<cr>}' command. If the system replies: \ \ {\tt remote execution
failed: Illegal request:}, you typed `{\tt login\/}' incorrectly, so start
over. Alternatively, you can type `{\tt login}' only and the system will prompt
for the name {\tt leland}.
The system then asks for your system name which you selected at the time
you requested an account.
The system then asks for your
password which
is not echoed. If all is in order the system repeats the
prompt {\tt !}. If you make a mistake, it may reply:
$$\vbox{\halign{\tt # \hfil&\tt #\hfil&\quad #\hfil\cr
login:&Illegal name:&you made a mistake in typing `leland'\cr login:&Bad args:&you made a
mistake in typing your user name\cr
login:&No permission:&you made a mistake in typing your password\cr
login:&Kernel Timeout:&no reply from {\sl leland}, it may be down\cr
login:&Duplicate name:&previous user did not logout, do it for him and try
again\cr }}$$
If you get an error message that isn't one of these, find help.
Having logged in correctly, it might be a good idea to look at your file
directory and see what has been preloaded. You do this by typing: {\tt
listdir<cr>}. The files beginning with a period are utility programs that
allow you to function normally and that were set up for you at the time
that you were assigned a user name and password. If {\tt listdir<cr>} does
not work correctly, which may happen if you have too many files for one
window full, try {\tt ls<cr>} which only lists user files.
It is possible to change the size of an executive window, but for the moment
it may be wise to leave this technique until you know a bit more about the
V-System.
{\bf Some Useful System Commands.}\nobreak
$$\vbox{\halign{\tt #\ \hfil\hfill\cr
rm filename&Delete a file or a list of files.\cr
cp file1 file2&Copy the first named file into the second named file.\cr
cd directory&Change current working directory.\cr
pwd&Type the name of the current working directory.\cr
vemacs filename&Initiate the vemacs text editor that is similar to emacs.\cr
help topic&Some is available for some topics.\cr
tn raw leland&Talk directly to leland.\cr
}}$$
{\bf Editing Files with Ved} \nobreak
To load a file using the V editor one types {\tt ved filename<cr>} (where
filename is the name of the desired file), first noting the presence of the
`{\tt !}' prompt and the blinking black box cursor.
Ved proceeds to read in the named file and signifies its completion by
requesting a pad, on which it can display the text of the requested file.
It does this by changing the mouse pointer from the original arrow
{\tensy\char'055} to the \vbox{\tt\halign{\strut#&\vrule#&\thinspace
#\cr \noalign{\hrule} && Pad\cr}} symbol. Caution: should the editor
appears to `hang', it may be that the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol
may, by chance, be partially or totally obscured by lying on text
and in particular on the inverted bar at the top of the existing window
(or sometimes be off of the screen
entirely), so, if this happens,
move to mouse around until you see the cursor. When the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol appears, move it to some convenient place, perhaps to the right
of the original window and click any button on the mouse and the pad will
appear with the first screenful of text displayed. If instead of clicking
the button, it is held down then one can move the pad around on the screen
by moving the mouse and then release the button when you have the pad
where you want it.
Although {\tt ved} will complain, you can use a new file name and the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol will appear so that you can proceed. Alternately, you can
simply type {\tt ved} only and supply the name when you are ready to save
the file. It is wise to save your text
occasionally to avoid losing all of your work in case of trouble.
{\parindent 20pt \narrower{ \noindent
Incidentally, when the cursor fails to blink in the window that you are
trying to use
(the one with the black top bar) then it may be because:
\noindent 1) The
system is still working on your request.
\noindent 2) The system has asked you to
specify the location of a pad or another window
by changing the mouse cursor
{\tensy\char'055} to the a special symbol, a
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}}, or a
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Exec\cr}} (which will happen when you are creating another Executive
window, as will be explained later), or a
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
View\cr}} (also to be explained later).
\noindent 3) One or more characters on the screen are
in inverse video because
you have made a {\sl ved selection} (to be explained later).
\noindent 4) The cursor is blinking in another window, which may or may
not be visible.
\noindent Explore these four possibilities when you have trouble,
before typing anything else. \smallskip}}
Note two features of this (editing) window: There is a banner line at the
top with some essential information to identify the window. If the file
name is preceded by an asterisk (*) then the editor thinks that this
buffer has been modified since the last write or save of the file. This
banner is inverted when this window is selected for editing. There is
also an inverted line in the form of a fixed menu of commands at the
bottom of the view. Pointing to one of these with the mouse and clicking
the middle or right button will execute the selected command. In general
the middle button means forward and the right button means backward.
The originating window, the one in which the Ved command was typed, will
be used for error messages and for typing special text such as file names,
search strings which are not to be inserted into any buffer. If you want,
this first window can be shrunk down to a few lines at the bottom.
Normally, while editing, this window will not have a blinking cursor and
you should not try to type to it.
Many of the commands to this editor begin with a {\tt \↑X}. This, by the
way, is one case where the letter case does not matter, so use {\tt \↑x}
even though the reference manual shows a capital {\tt X}. These commands are
typed while the cursor is blinking on the pad showing the text and the
commands do not print as you are typing them.
A few of the more useful ved commands of this sort are:
$$\vbox{\halign{#\hfil&\quad#\hfil\cr
\↑X\↑V&Read in a new file in the current window.\cr
\↑Xg&Read in a new file in a new window.\cr
\↑X\↑S&Save your corrections by writing the buffer back on its original file.\cr
\↑X\↑W&Write the file out on a file whose name will be reqested.\cr
\↑G&To get back to normal editing from some unwanted state.\cr
\↑C&Quit the editor. You will be asked if the buffer is to be saved.\cr }}$$
Other useful file-access commands are listed in section 6.5 of the V-System
Reference Manual.
Now it might be well to experiment by creating a test file, perhaps called
`{\tt tmp.tmp}', and try typing to it. Type several lines of type much as
you would on a typewriter and more or less regardless of any typing
mistakes that you may be making, so that
you will have some text to edit. Then try moving the cursor around using
the four arrow keys that are to the upper-right on your keyboard.
You will note that these
keys repeat, if they are held down, and this is usually enough to get you around
in your text. There are some faster ways that you can learn later.
Now do some editing of your text using
some of the following commands to edit.
$$\vbox{\halign{\tt #\hfil&\quad #\hfil\cr
\ctrl D&Delete character under blinking cursor and move cursor forward.\cr
\del&Delete backward from the cursor.\cr
\esc d&Delete a word forward of the cursor.\cr
\esc \del&Delete a word backward of the cursor.\cr
}}$$
Other useful simple editing commands are listed in section 6.4.
If this is old hat, you might go on to learn how the use the mouse while in
{\sl ved} from section 6.6 in the Reference Manual but this is enough to get
started.
Try saving this temporary file
using the command `{\tt \↑X\↑W}', noting and complying with
the name request on the Executive window.
Then exit from {\sl ved} by using the command `{\tt \↑X\↑Z}.
Look at your file directory by giving
the `{\tt ls}' command to see if the file has really been saved. Then
delete this file by typing {\tt rm tmp.tmp} and again look at your
directory to make sure that the temporary file has been removed. You are about
leady to do some serious file editing.
The section on the the V Editor in the V-System Referencee Manual is
reasonably concise, so refer to it for further details.
{\bf Using the Mouse in ved} \nobreak
You can move the blinking cursor to any desired location by moving the
mouse {\tensy\char'055} to the desired location and clicking the left
button. If you {\it drag} the mouse while holding the button down, a whole
region is displayed in inverse video, and it remains selected (as shown by
the inverse video) when the button is released. When a {\sl selection}
has been made, there are a number of one-letter commands that may be
given. See the V-System Manual for details.
Note that you can make a one-character selection, which is
indicated by the fact that the cursor is not blinking.
{\bf Using the Line Editor} \nobreak
Many (but not all) programs including MetaFont, use V's line editor
to talk with the terminal. This means that the current input line
is in a minature (one-line!) text editor. Commands for this editor
are similar to those for ved and vemacs (but not quite the same).
\leftline{The left and right arrow keys move the cursor.}
\leftline{{\tt <ctrl>A} and {\tt <ctrl>E} go to respectively beginning and end of line.}
\leftline{{\tt <Del>} deletes the character to the left of the cursor.}
\leftline{Any printing character is inserted at the cursor.}
\leftline{{\tt <cr>} finishes editing, gives the line to the program.}
{\bf Running \MF}\nobreak
Your next task will be to run \MF, on a file that you have created.
You can call \MF\ by simply typing {\tt mf}.
While you could do this in
your original executive window, this would mean releasing {\sl ved} and
you may still need ved for some more editing, so the thing to do is to
create a new executive window using the procedure described in the section
below on Creating and Removing Executives. You can then call up and
run \MF\ from this new executive window, find some error or
deficiency in your source file, return to the {\sl ved} editor and your original
file by simply switching windows, fix you
error, save the corrected file, then return and run mf on your modified
file, again without having to reload \MF.
Two courses of action are open to you. Either you can work in this new
window under your old login without any further preparation or you can
chose to login with a different account name should you have two different
accounts with different directories. We will assume that you will want to
continue to work under the same account.
As an aside, if the system cannot find a file that you have requested in
your own area, it will then look in the {\tt /usr/stanford/lib/metafont}
directory, so you need to type the file name only and not all of this
directory information, that is, of course, as long as you do not have a
file on your own directory with the same name. This applies to the mf
file itself and to files that you may specify in response to a request
from the mf program.
Having created a new executive view as outlined below, you type {\tt
mf<cr>} in this new window. You could type {\tt mf filename<cr>} where {\tt filename} is
the name of your file but in this case the \MF\ program would exit once it has
compiled your program and you will want it to hang around to be ready
for another run as soon as you have made the inevitable corrections.
Having typed {\tt mf<cr>}, the \MF\ program will load and signify that it is ready
for you to type your file name by exibiting a double asterisk prompt {\tt **}.
So type your file name followed by a {\tt <cr>}.
The \MF\ program will churn away until it needs a view to present its
results. It will then ask for a view and change the mouse \arrow\ to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
View\cr}} symbol. Using the mouse, move this symbol to the desired
location for the upper left corner of the new view then depress and hold
any button on the mouse. Now move the symbol to the desired location of
the lower right corner and release the button. This defines both the location and
size of the desired window.
If all goes well mf will run to completion and display the desired character
or shape that you have specified.
{\parindent 20pt \narrower{ \noindent By way of review, you have been
exposed to three different ways to define and locate a needed view. When,
{\sl ved} requested the location for a {\sl pad}, The system changed the
mouse pointer from the original arrow {\tensy\char'055} to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol. You then positioned this symbol where you wanted the
upper left corner to be and {\sl clicked} any button. The size of the pad
was determined by the {\sl ved} program. A quite different situation
occurred when you wanted another {\sl executive}. This time, you
pre-selected the number of lines to be displayed (either 28 or 48) then
the mouse \arrow changed to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Exec\cr}} symbol. You then positioned this {\sl executive window}, again by
{\sl clicking} a mouse button and the pre-selected sized executive window
appeared. Finally, to create an otherwise unspecified view for \MF, you
were required to define both the location of the window and its size and
shape by depressing a button on the mouse to specify the location
of the upper left corner
and by moving the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
View\cr}} symbol to specify the
location of the lower right corner.\smallskip}}
{\bf Interrupting mf}
\nobreak
If mf is taking a long time doing something you suspect is bogus,
you can type {\tt <ctrl>C}. \MF\ periodically checks to see
if you have done this, in which
case it asks you for a command. This way you can stop
an infinite loop.
Sometimes this will not work. In that case, hit the right mouse button
to get the main menu, and select {\sl Exec Control}, Then select {\sl Kill Program}
from the new menu, and then click the mouse inside MetaFont's window.
This should stop it dead. If mf has a display window open, that will
unfortunately be lying around.
(Selecting {\sl Delete Executive} instead of {\sl Kill Program} is even more drastic,
and removes both command and display windows.)
{\bf Running \MF\ Line by Line}
\nobreak
By setting the \MF\ variable {\tt pausing} to 1, MetaFont will execute only
one line at a time. Before executing the line, MetaFont will type
out {\tt =>}, and place the line in the Line Editor. You can now type
{\tt <cr>} to have MetaFont go ahead and execute the line, or you can use
the Line Editor command to change the command. This feature is useful
for both experimentation and debugging.
{\bf Creating and Removing Executives}
\nobreak
To get the main menu,
move the arrow {\tensy\char'055} to a clear place on the screen by
moving the mouse and click the right-most button. A temporary display will
appear that looks like:
$$\vbox{\tabskip=0pt \offinterlineskip \halign to 120pt
{\strut#&\vrule#\tabskip=0.5em plus 2em\hfil&\vrule#\tabskip=0pt\cr
\noalign{\hrule}
&&Create View&\cr \noalign{\hrule}
&&Delete View&\cr \noalign{\hrule}
&&Exec Control&\cr \noalign{\hrule}
&&Move Viewport&\cr \noalign{\hrule}
&&Make Top&\cr \noalign{\hrule}
&&Make Bottom&\cr \noalign{\hrule}
&&Graphics Commands&\cr \noalign{\hrule} }}$$
The meaning of all of these are explained in the V-System Reference Manual.
At the moment, we are interested only in the {\tt Exec Control} option.
To select this item from this menu
move the mouse to point to this line
which will cause the selected line to
invert light to dark, then
click the left button.
This will cause a new menu to appear showing:
$$\vbox{\tabskip=0pt \offinterlineskip \halign to 125pt
{\strut#&\vrule#\tabskip=0.5em plus 2em\hfil&\vrule#\tabskip=0pt\cr
\noalign{\hrule}
&&Delete Executive&\cr \noalign{\hrule}
&&Create 28 Line Executive&\cr \noalign{\hrule}
&&Kill Program&\cr \noalign{\hrule}
&&Create 48 Line Executive&\cr \noalign{\hrule}
&&Delete Executive&\cr \noalign{\hrule}
&&Set Alternate Exec Size&\cr \noalign{\hrule}
}}$$
To delete an executive, point to this option and again click the left button.
Having done this, move the arrow to the executive
window you want to go away and click the left button again and the window
will vanish. If this happens to be the mf executive window then both the \MF\
program and any display window that mf may have produced will disappear.
The Kill Program is less drastic. It simply stops the execution of the program but does
not cause the display to go away.
To create a new 28 or 48 line executive, point to the appropriate line and
click the left button. The larger size is useful for showing a lot of
output (e.g.~from ~\MF) at the same time, but some programs (e.g. {\tt
bits}) assume they are running in the smaller window. In either case the
mouse \arrow will change to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Exec\cr}} symbol.
You should then move this symbol to the desired window location
and click
any button as as you did for the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol.
{\bf To logout}
\nobreak
You have now created two executives and to keep everything neat and trim
you should close out both jobs. Close out your \MF\ program as noted
above. Then close out the ved editing by going to the window showing the
edited text and by saving the edited file if this is necessary and then
typing {\tt \↑X\↑Z}. You can then click to the first executive window and
type {\tt logout<cr>}. If you should be left with any derelict views, you
should also delete them before logging out. Do you know how to do this by
now?
{\bf Looking at gf Files with the `bits' Font Editor.} \nobreak
Having mastered the above routines, you might then try running the
{\sl bits} program. (Just type {\tt bits} to an executive.)
This is a combined font and bitmap editor.
After you start {\sl bits}, it will ask for a window to display characters in.
Move the mouse to the where you want the top left corner to go, press
a mouse button, and move the mouse (while keeping the button down)
until you get to where you want the bottom right corner.
The {\sl bits} program will use the command window as a menu.
To select a command, just {\sl click} it with the mouse.
{\bf To Read in a New gf Font.}
\nobreak
Click the {\tt []} to the left of the string {\tt Metafont gf font} (center
right of the window). bits will ask for the name of the font you want to
look at (you can leave out the final {\tt .gf}).
{\bf Selecting a Character to Look At.}
\nobreak
The simplest way of stepping through the characters in a font
is by clicking {\tt [Next]}, which will get the next character
in the font. You get a character explicitly by clicking one
of the other fields in the top right section of the menu:, For example,
click the character inside the quotes, and type a replacement.
The character will be displayed (8 times magnified) in the character window.
{\bf Looking at a String.}
\nobreak
You can see how a string of characters would look together, correctly
positioned and at normal size by clicking {\sl Sample Text}. You are
then supposed to type in the string to display, and position
a new window (for the string to be displayed in).
If you want to change the string, just {\sl click Sample Text} again,
and you can use the line editor to change it.
To get non-printable characters, use the special character \\.
For example,
the sample text {\tt a\\010b} will display character number 10(octal) between
a and b. See the reference manual for more details.
\bye
{\bf Removing Unwanted Windows} \nobreak
If you should be left with some unwanted windows, it is possible to delete
them by using the Delete View option on the main View Manager
Menu (created as
described in the section on Creating and Removing Executives) but this
procedure is dangerous as the associated process will not necessarily be
destroyed.
It is possible to delete all of the windows on the screen, but it is
usually desirable to leave the lowest numbered Executive window (of
course, left with a blinking cursor) so that you can login, continue
working, or logout. You can get any desired window to be on top of the
heap by pointing the mouse arrow {\tensy\char'055} unambiguously at this
one window and clicking (that is pushing and releasing) the left
button on the mouse.
Now move the arrow {\tensy\char'055} to a gray place on the screen by
moving the mouse and click the right-most button. A temporary display will
appear that looks like:
$$\vbox{\tabskip=0pt \offinterlineskip \halign to 120pt
{\strut#&\vrule#\tabskip=0.5em plus 2em\hfil&\vrule#\tabskip=0pt\cr
\noalign{\hrule} &&Create View&\cr \noalign{\hrule} &&Delete View&\cr
\noalign{\hrule} &&Exec Control&\cr \noalign{\hrule} &&Move Viewport&\cr
\noalign{\hrule} &&Make Top&\cr \noalign{\hrule} &&Make Bottom&\cr
\noalign{\hrule} &&Graphics Commands&\cr \noalign{\hrule} }}$$
The meaning of all of these are explained in the V-System Reference Manual
but for the moment we want to delete a {\sl window\/} (technically called
a {\sl View}). To select one item from this menu, in this case to delete a
view, move the mouse to point at the line labelled {\tt Delete View},
which will invert light to dark, when the arrow is pointing to it, then
click the left button. Having done this, move the arrow to point to the
window you want to go away and click the left button again and the window
will vanish.
{\bf The Graphics Commands}
The selection on the above menu of the {\tt Graphics Commands} option
calls up the following menu which should normally only be used for
graphics. You may need it later for the {\tt bits} program.
$$\vbox{\tabskip=0pt \offinterlineskip \halign to 120pt
{\strut#&\vrule#\tabskip=0.5em plus 2em\hfil&\vrule#\tabskip=0pt\cr
\noalign{\hrule} &&Center Window&\cr \noalign{\hrule} &&Move Edges&\cr
\noalign{\hrule} &&Move Edges$+$Object&\cr \noalign{\hrule} &&Move
Viewport&\cr \noalign{\hrule} &&Expansion Depth&\cr \noalign{\hrule}
&&Redraw&\cr \noalign{\hrule} &&Toggle Grid&\cr \noalign{\hrule}
&&Debug&\cr \noalign{\hrule} &&Zoom&\cr \noalign{\hrule} }}$$
This will then present you with a choice between a 28 line view and a 48 line
view and, having made this choice,
the mouse pointer will change to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Exec\cr}} symbol,
which will allow you to position this new window where you
want it just as you earlier positioned an output pad for ved. Now
transfer control to this new view by pointing to it and clicking the left
button.
{\parindent 20pt \narrower{ \noindent By way of review, you have been
exposed to three different ways to define and locate a needed view. When,
{\sl ved} requested the location for a {\sl pad}, the system changed the
mouse pointer from the original arrow {\tensy\char'055} to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol. You then positioned this symbol where you wanted the
upper left corner to be and {\sl clicked} any button. The size of the pad
was determined by the {\sl ved} program. A quite different situation
occurred when you wanted another {\sl executive}. This time, you
pre-selected the number of lines to be displayed (either 28 or 48) then
the mouse \arrow changed to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Exec\cr}} symbol. You then positioned this {\sl executive window}, again by
{\sl clicking} a mouse button and the pre-selected sized executive window
appeared. Finally, to create an otherwise unspecified view for \MF, you
were required to specify both the location of the window and its size and
shape by depressing a button and moving the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
View\cr}} symbol before releasing the button.\smallskip}}
{\parindent 20pt \narrower{ \noindent By way of review, you have been
exposed to three different ways to define and locate a needed
view.\smallskip\ When,
{\sl ved} requested the location for a {\sl pad}, The system changed the
mouse pointer from the original arrow {\tensy\char'055} to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Pad\cr}} symbol. You then positioned this symbol where you wanted the
upper left corner to be and {\sl clicked} any button. The size of the pad
was determined by the {\sl ved} program.\smallskip\ A quite different situation
occurred when you wanted another {\sl executive}. This time, you
pre-selected the number of lines to be displayed (either 28 or 48) then
the mouse \arrow changed to the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
Exec\cr}} symbol. You then positioned this {\sl executive window}, again by
{\sl clicking} a mouse button and the pre-selected sized executive window
appeared.\smallskip\ Finally, to create an otherwise unspecified view for \MF, you
were required to specify both the location of the window and its size and
shape by depressing a button and moving the
\vbox{\tt\halign{\strut#&\vrule#&\thinspace #\cr \noalign{\hrule} &&
View\cr}} symbol to define both the position and size of the
window.\smallskip}}